import random  # 导入random模块，但在此代码中未使用，可能是不必要的导入  
import numpy   # 导入numpy库，用于处理数值计算  
  
# 初始化权重w为一个2x1的列向量，其元素为-10到10之间的随机整数  
w = numpy.random.randint(-10, 10, 2).reshape(2, 1)  
  
# 设置迭代次数为1000  
iter = 1000  
  
# 设置学习率为0.01  
learning_rate = 0.01  
  
# 初始化梯度为一个2x1的零列向量  
gradient = numpy.zeros(shape=(2, 1))  
  
# 开始迭代过程  
for i in range(iter):  
    # 计算当前权重的梯度，这里是简单的代数式计算  
    gradient[0, 0] = (2 * w[0, 0] - 2 * w[1, 0])  # w[0, 0]是w的第一个元素  
    gradient[1, 0] = (2 * w[1, 0] - 2 * w[0, 0])  # w[1, 0]是w的第二个元素  
      
    # 使用梯度下降法更新权重  
    w = w - gradient * learning_rate  
  
# 计算并打印函数f(w) = w[0]^2 + w[1]^2 - 2*w[0]*w[1]的值  
print(w[0, 0]**2 + w[1, 0]**2 - 2 * w[0, 0] * w[1, 0])